Adaptive technique for sightless accessibility of dynamic web content

ABSTRACT

One aspect of the present invention includes adaptive techniques used to render dynamic web content for accessibility software applications, such as screen readers. In one embodiment, an operation for improving webpage browsing with accessibility software includes detecting if an accessibility software application is in use, tracking the position of user focus on the webpage, and presenting information to the user based on the position of user focus on the webpage. In a further embodiment, additional content is rendered on the webpage to screen reader applications, and is placed at the position of the screen reader focus in response to dynamic content appearing or changing on the webpage. This additional content is read by the screen reader to inform the user of the dynamic content change, and/or enable the user to quickly perform a specific action on the webpage.

FIELD OF THE INVENTION

The present invention generally relates to the use of dynamic contentdisplayed to users via websites. The present invention more specificallyrelates to technologies used to enhance the delivery of dynamic websitecontent to visually impaired users, including tracking the position of auser within a dynamic webpage, and communicating newly changed or addeddynamic content to the user via a screen reader.

BACKGROUND OF THE INVENTION

Dynamic webpages, such as those utilizing AJAX or Flash technologies,have become prevalent ways of improving user interaction by deliveringcontent responsive to a user's activity within a website. Dynamicwebpages further enable content to be automatically changed within thedisplay of the page itself, without requiring the user to go to aseparate page or refresh the current view of the page. For example,after an action button or pull down is interacted with on a webpage, anobject within the page (such as an error or success message field) maybe configured to change its text and display different content. Oneproblem with the use of such technologies, however, is that sightlessusers who wish to utilize webpages with dynamic content are limited bythe capabilities in existing screen reader software to read the updatedcontent.

Screen readers relate the content on webpages to visually impaired usersby reading webpage text in a linear, top-to-bottom fashion, outputtingthis content as audio to the user. Screen readers currently in use,however, have no way of alerting the user to dynamic content that haschanged a portion of the webpage that is not currently being read. Thus,a sightless user who is using a screen reader will often have to restartreading all of the content from the top of the webpage to discover whatchanged, as there is no easy way to determine if dynamic content in thepage has been updated once the screen reader has passed the changepoint.

Current screen reader technology, at most, is capable of alerting theuser that something on the page has changed, but is not capable ofrelaying what this change is, and where on the page the change hasoccurred. Thus, many dynamic content changes introduced into the webpageare not communicated with the user via the screen reader, which mayprevent numerous information and functional fields from being used andunderstood by visually impaired users.

Various regulations such as Section 508 of the Rehabilitation Act arealso relevant to the capabilities and deployment of accessibilitytechnology used by visually impaired users. Section 508 sets forthrequirements intended to increase technology accessibility, to ensuregovernment employees with disabilities can fully access and interactwith relevant content. Additionally, Section 255 of theTelecommunications Act requires that manufacturers of telecommunicationsequipment and software ensure that the equipment is accessible bypersons with disabilities, whether provided directly or through aperipheral device used by the person with a disability. Further, theAmericans with Disabilities Act prohibits discrimination on the basis ofdisability in employment, programs, and services provided by state andlocal governments—including goods and services provided by privatecompanies.

Certain website accessibility coding practices such as the Web ContentAccessibility Guidelines (WCAG) have been mandated through the WorldWide Web Consortium (W3C). At a minimum, a complete implementation ofthe WCAG enables the Section 508 and Section 225 guidelines to be met orexceeded. Additionally, W3C has created sets of checklists defined inthe WCAG as a guide for software and websites to be consideredaccessible. These guidelines are intended to ensure that all webpagesare rendered to accessibility users in a perceivable, operable,understandable, and robust way.

Although these various accessibility requirements and regulations are inplace, there is no existing technology that has readily enabled users ofscreen readers or other software assistance programs to fully utilizedynamic web functionality and easily comply with accessibilitystandards. To be considered accessible, either a command line basedinterface or text-based alternative must be provided to allow the userto interact with a dynamic web environment. Although command line ortext only versions may provide a basic user interface to make a webpagecontent accessible, they often do not provide the robust capabilitiesinherent to time sensitive actions that dynamic web content is mostcapable of delivering and responding to.

The only complete workaround to the limitations produced by screenreaders is for the sightless user to not access dynamic webpages, butthis is often not a feasible solution due to the wide deployment andusefulness of dynamic web content throughout the Internet. Thus, theonly complete workaround for content providers is to provide separatetext-only versions of the webpages in lieu of delivering dynamiccontent.

As dynamic web technologies are being increasingly deployed throughoutthe Internet, there is a large concern that the features of assistivetechnologies for sightless users lack equivalent progress. What isneeded are improved ways of delivering of dynamic web content forvisually impaired users via use of screen reader technologies that areused to read websites. Additionally, various server side technologiesneed to be tailored to deliver dynamic content in a more predictablemanner. Techniques are needed within dynamic web sites to determine ifthe user requires special needs or processing, in addition to trackingthe positioning of the screen area being read in order to automaticallyassist special needs readers with the correct placement, alert, anddelivery of dynamic content.

BRIEF SUMMARY OF THE INVENTION

One aspect of the present invention includes improving accessibility forsightless users to access content delivered via dynamic webpages. In oneembodiment, various measures are implemented within the client screenreader software accessing a webpage and the server rendering the webpageto tailor the web content for use with screen readers. Accordingly, theuse of the various embodiments of the present invention results inincreased accessibility for sightless users whose ability to interactwith websites is dependent on how a screen reader interprets content.

A further aspect of the present invention includes determining ifspecial assistance is needed by the user, to enable the website todynamically and automatically render accessible content in a format thatis friendly to screen readers or other accessibility software. This maybe accomplished by performing monitoring and/or detecting functionswithin the website to determine if the rendered webpage requires specialprocessing for use with the accessibility software.

An additional aspect of the present invention involves a server sideimplementation of reactive listeners that track the position of the useron the webpage. In one embodiment, the position of the user focus on thepage is useful for enabling various content “place holders” locatedafter each logical web unit, to deploy dynamic content on locationswithin the webpage that would be most helpful or useful to the screenreader or other accessibility software. In one embodiment, once it isdetermined that the user requires special needs or processing, thescreen reader's position on screen is tracked, and dynamic content isdelivered at the current position of the screen reader. Positionaltracking may be performed as necessary by storing position values withina browser cookie, or alternatively within various other types ofpersistent data stores.

Therefore, an additional aspect of the present invention includes animproved method of delivering dynamic content to a screen reader throughcontent and alerts strategically placed within a dynamic contentwebpage. When dynamic content is changed on the website, the website iscapable of notifying the user of the event and alerting the user to theevent through position relational reporting. In one embodiment, changesto the dynamic content are detected by the screen reader, and dynamiccontent is inserted after the screen reader's present location. Thescreen reader can accordingly interact with the new object and deliverthe new content to the user.

One embodiment of the present invention includes an adaptive trackingoperation used to determine the accessibility needs of a user accessinga dynamic webpage. This embodiment is applicable to accessibilitysoftware applications that access textual or image descriptive data andconvey the information to a user via non-visual means, such as speaking.Event listeners implemented within a webpage may be used to detectkeyboard navigation and thus determine if an accessibility softwareapplication is accessing the webpage. A data store is configured totrack a position of user focus on the webpage, and whether positionaltracking is enabled (i.e., if an accessibility software application isin use). In one embodiment, the data store is implemented within abrowser cookie.

The positional tracking is enabled when navigation is performed by akeyboard, and is disabled when navigation is performed within thewebpage by a mouse. If enabled, as the user navigates within thewebpage, the position of user focus (i.e., the position of theaccessibility software application) is determined from data collectedfrom the webpage listeners. The position of user focus on the webpage isreset if navigation is performed to another webpage. Additionally, theposition of user focus is tracked within the data store, and is laterretrieved from the data store when information is about to be renderedto the user.

A further embodiment of the present invention includes adaptivelyimproving sightless accessibility of dynamic web content by deliveringenhanced content to a user accessing a dynamic webpage with a screenreader. As the user accesses the webpage, it is determined if the useris utilizing a screen reader software application to audibly readcontent displayed within the webpage. If a screen reader is in use, ahelpful form of dynamic content will be rendered to the user.

The steps taken to display helpful content include configuring a datastore to store a value of a position of focus of the screen readernavigating the webpage. In one embodiment, this data store isimplemented through use of a cookie. Next, the position of screen readerfocus on the webpage is tracked by calculating the position as thescreen reader interacts with objects contained within the webpage, asthe position value within the data store is updated.

After dynamic content is displayed within the webpage, an object isdynamically displayed within the webpage at the position of screenreader focus. The displayed object accordingly contains informativecontent related to display of the dynamic content, and may beaccompanied with an ability for the user to perform an action. As thescreen reader reads the helpful content, the user is able to comprehendand interact with any displayed dynamic content.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A-1D illustrates an example of delivering dynamic content througha webpage that is adapted to deliver the dynamic content to sightlessusers via a screen reader program in accordance with one embodiment ofthe present invention;

FIG. 2 illustrates an example DOM object model of a webpage that isutilized to position dynamic content for use with a screen readerprogram in accordance with one embodiment of the present invention;

FIG. 3 illustrates an example operation of tracking actions performed bya user who accesses a dynamic web site using accessibility software inaccordance with one embodiment of the present invention; and

FIG. 4 illustrates an example operation of delivering defined content toa screen reader which accesses a dynamic webpage in accordance with oneembodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

One aspect of the present invention includes providing an adaptivetechnique for enhancing the sightless accessibility of dynamic webcontent delivered to screen readers. Accordingly, one embodiment of thepresent invention employs measures to determine if a user is utilizing ascreen reader or other accessibility software on a webpage. Anotherembodiment of present invention also includes measures to track theposition of the screen reader or other accessibility software whenaccessing the dynamic web content. Furthermore, one embodiment of thepresent invention includes measures to deliver additional content oralerts to the user via the screen reader to enable the user toappropriately respond to the dynamic changes which have occurred withinthe webpage.

In one embodiment, detection and/or tracking measures are employed firstto determine if the user needs additional processing or special displayfeatures for use with a screen reader. For example, website detectionmeasures might include a website control which tracks the use ofkeyboard navigation versus the use of mouse navigation, or otherdetection measures may involve the use of a physical device that tracksthe eye movement of a user. Further methods of tracking eye movement mayinclude but are not limited to the use of a video camera to focus on thecontrast of the center of the pupil using an infrared or other lightsource to create corneal reflection, to determine by vector analysis thelocation that the eye is tracking. An alternative method to tracking eyemovement for this purpose includes the use of a special apparatussimilar to contact lenses that can transmit changes in movement to aradio receiver and then extrapolate the position with known data onscreen. If such a tracking mechanism determines the user is viewing thescreen in a manner consistent with that of a sighted user, thisembodiment of this invention would halt position tracking until itdetermines that the user's eyes are not fixated or scanning content onthe dynamic web page.

Alternatively, the website may require the client to take someconfirmatory action to inform the website that a screen reader programis used to access its content. Once the use of a screen reader or otheraccessibility software is known by the website, the website can respondby delivering content friendly to screen readers. A further embodimentof the present invention therefore involves tracking if the userrequires any additional processing and display features, includingtracking this setting either within the website or on a setting on theclient computer operating the screen reader.

Another embodiment of the present invention involves an implementationof various tracking measures to enable enhanced interaction with thewebpage based on the location of the screen reader on the webpage. Inone embodiment, listeners are employed within the webpage to detectkeyboard-based actions, which may be indicative of screen readernavigation. In another embodiment, a cookie or persistent data share maybe employed to track a list of the actions performed by the screenreader and the appropriate location of the screen reader on a website.In still another embodiment, a browser plug-in or Active X extension maybe utilized within the web browser or the program interfacing with thescreen reader to track the activities and position of the screen readerwithin the browser and relay any relevant tracking information to thewebsite.

In another embodiment, the webpage containing dynamic content willassign several listener type objects to each widget contained within thewebpage. These listeners will track whether the user has clicked on alink using a mouse action, or whether the user has tabbed or otherwiseinteracted with several other widgets via keyboard or other sequentialactivity to reach a desired location in lieu of performing mouseactions. The assumption is that a sightless user would not be able toutilize a mouse pointer on the screen, and therefore is solely usingkeyboard controls when navigating the website. Thus, by the use of thekeyboard instead of a mouse, the website can determine if theaccessibility tracking system should be activated.

Upon loading of the dynamic web site, another embodiment of the presentinvention includes creating and loading a browser cookie to track thestatus of the user preferences and requirements, such as whether theuser requires accessible content to be presented in a defined orotherwise modified format. In still a further embodiment, the datawithin this cookie is encoded to ensure user privacy and to ensure thatpersons with visual disabilities are not discriminated against, or canotherwise be identified by unwanted entities.

A further embodiment of the present invention includes the use ofvarious “access points” programmed on the server side of theclient-server model into the webpage document object model (“DOM”).These access points serve as placeholders for content located after eachlogical web unit within the webpage. The access points may be configuredto deliver content and/or actions when the server sends an associateddynamic content update. Additionally, until dynamic content is added orchanged on the webpage, these access points may be configured to beempty and not be disruptive to a screen reader or any visual usage.

This embodiment may also utilize relational tracking via listeners onthe client side. These listeners would record the position relative tothe user's current location on the webpage and save this information ina persistent data store (such as a cookie or data file). Thus, thelocation of the user focus can be determined to allow any dynamiccontent to be inserted just after the user's currently marked location.This will further enable the screen reader to pick up any dynamiccontent in a linear fashion.

In a further embodiment, the cookie may be configured to track whetheror not a specific widget or screen area has been accessed on thewebsite. A numerical value can be assigned to each logical unit withinthe DOM. As objects are interacted with on a website, a value will beassigned in the cookie to show which object was last activated. Thus, atany time dynamic content has changed on the page, the website can easilydetermine what the active web unit currently is to deliver specificmessages at the user's last active location.

In order to address the fact that users may have a sighted user accessthe dynamic website (such as by having an assistant access the browserrunning the screen reader), it may be necessary to change the userstatus of requiring accessibility features from enabled to disabled.This can be performed dynamically by updating the cookie or otherpersistent data store in an effort to sustain performance andfunctionality. In one embodiment, a provision of content tailored forscreen readers can simply be disabled when a sighted user accessesseveral click actions on the page using a mouse or some other activitythat is based on or requires visual knowledge of the screen layout.

A further embodiment of the present invention includes various measurestaken to respond to dynamic content added to the webpage, such as byalerting the screen reader or the user at the position of relationaltracking to the updated content. In one embodiment, to deliver a contentmessage in a format readable only to screen readers and not disruptiveto sighted users, a 1×1 image with alt text can be displayed within thewebpage, such as at the location specified by the positional trackingcookie. In this manner, as content is updated, messages specific to thechange can be added to the end of the sectional unit in order for thescreen reader to pick it up.

In a further embodiment, this image which is dynamically displayed couldalso have an action item(s) associated with it, for the cases that thedynamic change in the webpage involves a widget with interactivecontent. For example, the image object may have alt text which can bedynamically changed by the webpage to alert or notify the user of achoice of actions in another location on the page. Additionally, theimage may also contain link or script properties to enable direct actionand response by the user.

FIGS. 1A-1D demonstrate an example sequence of actions on a dynamic website that are undertaken to convey dynamic content to a user, accordingto the adaptive technique for delivering dynamic web content to users inone embodiment of the present invention. As referred to in the followingsection, the “Tab” command can generically refer to any keyboard actionmade by the user that moves the position of the focus.

First, the user starts up an application to access the website, andutilizes the screen reader to read the content presented within thewebsite. As shown in FIG. 1A, a number of content fields, links,buttons, and selection items may be presented with a dynamic webpage100. A user then accesses the content on the webpage for use with thescreen reader by changing focus to various links, buttons, and text onthe page. Meanwhile, the use of the tab navigation on the website alertsthe tracking mechanism to keep track of the user's position relative tothe webpage. Subsequent tab actions on the page navigate the user to thevarious content sections of the page.

The user's screen reader will continue to read the content on thewebsite as the tab command is activated and the selected item on thepage changes. As shown in FIG. 1B, a number of different selection itemsexist on the page, with each highlighted step to be read by the screenreader labeled with sequential numbers 1-9.

For example, using the radio button denoted in FIG. 1B with numeral 9,if the user were to press the space bar (to select the radio button),the webpage is configured to perform a dynamic action and update thewebpage. The result of this dynamic update is presented in FIG. 1C. Asis shown, the “Select Action” dropdown 110 is now displayed at a higherlocation within the website, above the current focus of the screenreader. With existing screen reader technologies, the sightless userwill not be made aware that any change has been made on the webpage,because the screen reader has passed this point in the page, andaccordingly a prompt to select an action from the dropdown menu will notbe verbally conveyed to the user.

FIG. 1D demonstrates a dynamic webpage which has modified its content toconvey an appropriate message to an accessibility software user inaccordance with one embodiment of the present invention. In thisembodiment, a new object that is configured to be screen readable and/orpresent an interaction option to the user is dynamically added to thepage. As shown, a small 1×1 image 120 is dynamically inserted after theposition of the screen reader focus (the radio button), and is insertedwith techniques such as the use of client side scripting. This smallimage contains alt text that is placed inline so that the subsequentkeyboard navigation action (e.g., a tab) will select it. Thus, when theuser moves the navigation focus to the next item on the page, the alttext will be read to the user by the screen reader, and the user will benotified of the dynamic change with ease.

In the example depicted within FIG. 1D, a 1×1 image or a hidden image isused in order to be non-disruptive to the layout and rendering of thewebpage in the case that a sighted user were to use the sameworkstation. To further blend in with the location of placement, this1×1 image may apply the attributes of its background through inheritanceof the style sheet properties of the parent web unit. Accordingly, FIG.1D depicts a website that has been adapted for visually limited users,but is still functional using visual commands and appears substantiallythe same as an unmodified page.

In a further embodiment of the present invention, the values derivedfrom the determination of the relative position that the user (i.e., thescreen reader) is focusing on may be sent in response to a request fromthe server to determine where to insert the accessible unit. One methodinvolves using inline frames (“IFrames”), similar to those commonly usedin advertising on dynamic pages, which are logically placed aftertrigger objects, trigger objects being objects that are designed tocause a change in the page. However, because IFrames may be targets formalicious attacks, their use may not be preferred in all websitesettings. Further, the use of trigger objects would requireimplementation in the code of the webpage.

Additionally, a DOM (Document object model) API insertion into the treemay be made to insert the content at the appropriate location. Toillustrate a DOM approach of adding content, a DOM object hierarchy of asample webpage similar to that depicted in FIGS. 1A-1D is illustrated inFIG. 2 in accordance with one embodiment of the present invention. FIG.2 more specifically depicts an implementation on the server side DOMobject hierarchy where insertion points are included as leaf nodes foreach child web object. Additionally, the insertion points may beincluded via client interaction with the screen reader.

As depicted in FIG. 2, each webpage can be broken up into a tree-likestructure with the Document class 200 as the root, and descendant nodesas frames, panels, panes, divisions, tables, and links, etc. Eachdescendant node contains attributes such as a type, tag, value, andassociated actions. FIG. 2 further illustrates a simple DOMimplementation of inserting the 1×1 dynamic image 230 as a child of the“Rows and Columns” node 220 of a specific table 210. The child node, or1×1 image, may either be hidden, or it can inherit its parent's colorattribute.

FIG. 3 depicts a flowchart for a method of adaptively improvingaccessibility of dynamic web content by tracking actions performed by auser on a computer system in accordance with one embodiment of thepresent invention. As illustrated in FIG. 3, step 301 indicates thetracking mechanism has been activated. In step 302, a small cookie ordata store is created to specify any tracking settings (such as theenabled/disabled status of the tracking mechanism) and track theposition of the navigation on the webpage. In detail, the trackingsettings may specify that the user requires special assistance throughthe use of a flag which is set to enable tracking the location of theuser activity, in addition to tracking data values of the preciselocation of the user on the webpage. The tracking data may be stored asnumerological data such as the nth token read on the page.

Another embodiment of the present invention includes tracking separateobjects representing the implemented objects displayed in the webpage.Each object is associated with an action to traverse (i.e., a tab goesto the next valid link, an arrow key moves over a single tokenizedstring, and so forth), until a table of recognized objects and actionshas been created. This table could then be translated to calculate theexact location that the user was last known to access. Additionally, ina further embodiment, an encryption algorithm is employed to the cookieor data store, to increase security and ensure that user privacy ismaintained.

Step 303 represents the performance of further navigation actions on thewebpage such as use of a TAB key, arrow key, DIV navigation, and thelike. These navigational mechanisms may even navigate across sectionalunits. Step 304 represents the scenario of navigation to another page,in which case tracking resets to a zero reference point and is updatedwithin the cookie or data store in step 302. A similar action may alsobe performed when navigating to an entirely different section of thepage, e.g., selecting a link to navigate to the top of the page or skipto a later section.

Step 305 represents the case where actions are being conducted using amouse or other sight-driven activity. Upon recognition of mouseinteraction across several links (provided that each link has both mouseand key action listeners) the cookie or data store will be updated withinformation that the relative positional tracking system should bedisabled. Step 306 shows the cookie being updated with information thatthe user no longer requires the tracking operation to be performed.

If the navigation on the webpage is not to another page or section ofthe page and the navigation is not performed by the mouse or other sightdriven activity, the position of the user on the webpage is tracked andupdated in the cookie or data store as in step 307. The client side mayalso implement additional coding measures to ensure positional trackingis accurate. The operation then returns to a waiting state, until thenext navigation action is taken as in step 303, or until the navigationon the webpage is complete.

FIG. 4 depicts a flowchart for a method of adaptively improvingsightless accessibility of dynamic web content by delivering definedcontent to a screen reader which accesses a dynamic webpage on acomputer system in accordance with one embodiment of the presentinvention. As depicted, in step 401, the user accesses the webpagecontaining dynamic content. In step 402, it is determined if a screenreader is in use, such as through reading a setting within a cookie ordata store, or detecting if particular keystrokes and keyboard commandsby the user relate to the use of a screen reader. Through thesemeasures, this embodiment will be able to determine whether the userrequires the tracking system to be enabled.

Thus, as in step 403, if the user uses only keyboard actions, and is notusing mouse or other sight dependant actions, the tracking mechanismbecomes active and instantiates (or writes to the existing) cookie orequivalent data store object. The information contained in the cookie ordata store will indicate that the user requires special needs andrendering for dynamic content displays. Additionally, in a furtherembodiment, the position within the cookie or data store is set to azero reference point at the top of the page, i.e., the start path forthe screen reader.

As indicated in step 404, each navigational command (such as a TABevent) is tracked, and the cookie or data store is updated with therelative positional information of the position of the screen reader.Step 405 represents the occurrence of an action that causes some dynamiccontent to be enabled on the screen. This dynamic content is rendered,usually by a mouse listener or action listener on some item, in responseto some user action. However, there are also cases where the dynamiccontent may be time driven or otherwise updated as a result of someexternal event.

In order to alert the user to the dynamic content change on the webpage,this embodiment contains a listener and a server counterpart. As in step406, the server is informed that additional information regarding thenewly rendered dynamic content must be added to the webpage, byobtaining the position of user focus on the webpage that is stored inthe cookie or data store. This information may be acquired from theclient by determining the x-y position, the parent node, or the lastaccessed object as tracked in the cookie or data store, and sending therelative position (such as the nth token or information of the node tobe updated) to the server.

Step 407 demonstrates a response by the server, through the placement ofcontent, action objects, or other useful updates to the webpage toenable the screen reader user to understand and respond to the newlyrendered dynamic content. This helpful content will be placed at theposition of user focus within the webpage, even as the rendered dynamiccontent will still remain in its original intended location on thewebpage. Another embodiment of the invention will intercept the dynamicchange and display it at some other desired location marked by thecookie or data store. In either case, the location of the newly addedcontent will be the next item that a screen reader will pick up and readto the user. The end goal is that the information and actions related tothe dynamic content are now readily available to the screen reader userwithout re-reading the entire webpage.

A further embodiment of the present invention includes the use of atabular lookup table maintained on the client that associates differentweights to each object in the webpage. These weights represent thechildren nodes that are connected to the parent in the DOM, and wouldassist in determining the exact location and/or confirming that therelational position is tracked correctly from a reference point. Witheach object there is a possibility of n children, and each child in theDOM can be broken up into smaller parts until the leaf node is reached.The leaf node will be either a section of text read by the screenreader, or an empty object not containing text that will not be read bythe screen reader.

Through tree traversal, the use of a “red-black” tree may also be usedin a further embodiment of this implementation of the present invention.Traversed objects can be marked with the red attribute and non-traversedobjects can be left as black. As one of the properties inherent in Redblack trees, it can be determined which items have not been marked asread. The various embodiments of the present invention can then utilizeDOM insertion of the dynamic content after the first unread content onthe webpage.

Although the use of a screen reader on a webpage is discussed throughoutthe present disclosure, one skilled in the art would recognize that thetechniques utilized for responding to dynamic web content are alsoapplicable to other types of accessibility software, including softwarefor visually impaired users that does not audibly read webpages in alinear fashion. Additionally, one skilled in the art would recognizethat the various techniques used for tracking the position on a webpageand delivering content to a specific location on a webpage would beapplicable to numerous other settings of content access and delivery,including webpages accessed without the use of accessibility software.

As will be appreciated by one skilled in the art, the present inventionmay be embodied as a system, method, or computer program product.Accordingly, the present invention may take the form of an entirelyhardware embodiment, an entirely software embodiment (includingfirmware, resident software, micro-code, etc.) or an embodimentcombining software and hardware aspects that may all generally bereferred to herein as a “circuit,” “module” or “system.” Furthermore,the present invention may take the form of a computer program productembodied in any tangible medium of expression having computer usableprogram code embodied in the medium.

Any combination of one or more computer usable or computer readablemedium(s) may be utilized. The computer-usable or computer-readablemedium may be, for example but not limited to, an electronic, magnetic,optical, electromagnetic, infrared, or semiconductor system, apparatus,device, or propagation medium. More specific examples (a non-exhaustivelist) of the computer-readable medium would include the following: anelectrical connection having one or more wires, a portable computerdiskette, a hard disk, a random access memory (RAM), a read-only memory(ROM), an erasable programmable read-only memory (EPROM or Flashmemory), an optical fiber, a portable compact disc read-only memory(CDROM), an optical storage device, a transmission media such as thosesupporting the Internet or an intranet, or a magnetic storage device.Note that the computer-usable or computer-readable medium could even bepaper or another suitable medium upon which the program is printed, asthe program can be electronically captured, via, for instance, opticalscanning of the paper or other medium, then compiled, interpreted, orotherwise processed in a suitable manner, if necessary, and then storedin a computer memory. In the context of this document, a computer-usableor computer-readable medium may be any medium that can contain, store,communicate, propagate, or transport the program for use by or inconnection with the instruction execution system, apparatus, or device.The computer-usable medium may include a propagated data signal with thecomputer-usable program code embodied therewith, either in baseband oras part of a carrier wave. The computer usable program code may betransmitted using any appropriate medium, including but not limited towireless, wireline, optical fiber cable, RF, etc.

Computer program code for carrying out operations of the presentinvention may be written in any combination of one or more programminglanguages, including an object oriented programming language such asJava, JSP (Java Server Pages), Smalltalk, C++ or the like andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The program codemay execute entirely on the user's computer, partly on the user'scomputer, as a stand-alone software package, partly on the user'scomputer and partly on a remote computer or entirely on the remotecomputer or server. In the latter scenario, the remote computer may beconnected to the user's computer through any type of network, includinga local area network (LAN) or a wide area network (WAN), or theconnection may be made to an external computer (for example, through theInternet using an Internet Service Provider).

Although various representative embodiments of this invention have beendescribed above with a certain degree of particularity, those skilled inthe art could make numerous alterations to the disclosed embodimentswithout departing from the spirit or scope of the inventive subjectmatter set forth in the specification and claims.

1. A method for adaptively improving accessibility of dynamic webcontent by tracking navigation actions performed by a user on a computersystem accessing a webpage, comprising: detecting keyboard navigationwithin a webpage accessed by a user through listeners within the webpageto determine if the user is accessing the webpage with an accessibilitysoftware application; configuring a data store to track a position ofuser focus on the webpage and track whether positional tracking isenabled for the webpage; performing, by the user, navigation within thewebpage, wherein the position of user focus on the webpage is resetresponsive to navigation being performed to another webpage; enablingthe positional tracking responsive to navigation being performed withinthe webpage by a keyboard; disabling the positional tracking responsiveto navigation being performed within the webpage by a mouse; determiningthe position of user focus on the webpage and updating the position ofuser focus within the data store with a position of the accessibilitysoftware application on the webpage derived from positional datacollected from the listeners; and presenting information to the userwith the accessibility software application at the position of the userfocus if positional tracking is enabled, including accessing the datastore to retrieve the position of user focus and rendering informationto the user at the position of user focus on the webpage retrieved fromthe data store.
 2. The method as in claim 1, wherein the accessibilitysoftware application used to access the page interprets textual or imagedescriptive data and conveys the information to the user via non-visualmeans.
 3. The method as in claim 1, wherein the data store is a browsercookie.
 4. A method for adaptively improving sightless accessibility ofdynamic web content by delivering enhanced content to a user accessing awebpage on a computer system with a screen reader, comprising: accessinga webpage by a user, the webpage capable of displaying dynamic content;determining if the user accessing the webpage is utilizing a screenreader software application to audibly read content displayed within thewebpage; and rendering additional content to improve accessibility ofthe dynamic content responsive to determining the user accessing thewebpage is utilizing a screen reader software application, including:configuring a data store to store a value of a position of focus of thescreen reader navigating the webpage; tracking the position of screenreader focus on the webpage by calculating the position as the screenreader interacts with objects contained within the webpage and updatingthe position value within the data store; displaying the dynamic contentwithin the webpage; displaying an object within the webpage at theposition of screen reader focus responsive to the dynamic content beingdisplayed, wherein the displayed object contains additional contentrelated to the displayed dynamic content; and interacting with thedisplayed object using the screen reader to inform the user withinformation related to the displayed dynamic content, thereby enablingthe user to interact with the displayed dynamic content.
 5. The methodof claim 4, further comprising alerting the screen reader to the displayof dynamic content within the webpage.
 6. The method of claim 4, furthercomprising the screen reader monitoring the dynamic webpage for thedisplay of dynamic content within the webpage.
 7. The method of claim 4,wherein the information related to the displayed dynamic content enablesthe user to perform an action on the webpage.
 8. The method of claim 4,wherein the displayed object is an image with an alt text attributecontaining instructions relevant to the displayed dynamic content,wherein a size attribute of the image is set to 1×1, and wherein abackground attribute of the image is set to match its parent.
 9. Asystem, comprising: at least one processor; and at least one memorystoring instructions operable with the at least one processor foradaptively improving accessibility of dynamic web content by trackingnavigation actions performed by a user on a computer system accessing awebpage, comprising: detecting keyboard navigation within a webpageaccessed by a user through listeners within the webpage to determine ifthe user is accessing the webpage with an accessibility softwareapplication; configuring a data store to track a position of user focuson the webpage and track whether positional tracking is enabled for thewebpage; performing, by the user, navigation within the webpage, whereinthe position of user focus on the webpage is reset responsive tonavigation being performed to another webpage; enabling the positionaltracking responsive to navigation being performed within the webpage bya keyboard; disabling the positional tracking responsive to navigationbeing performed within the webpage by a mouse; determining the positionof user focus on the webpage and updating the position of user focuswithin the data store with a position of the accessibility softwareapplication on the webpage derived from positional data collected fromthe listeners; and presenting information to the user with theaccessibility software application at the position of the user focus ifpositional tracking is enabled, including accessing the data store toretrieve the position of user focus and rendering information to theuser at the position of user focus on the webpage retrieved from thedata store.
 10. The system as in claim 9, wherein the accessibilitysoftware application used to access the page interprets textual or imagedescriptive data and conveys the information to the user via non-visualmeans.
 11. The system as in claim 9, wherein the data store is a browsercookie.
 12. A system, comprising: at least one processor; and at leastone memory storing instructions operable with the at least one processorfor adaptively improving sightless accessibility of dynamic web contentby delivering enhanced content to a user accessing a webpage on acomputer system with a screen reader, comprising: accessing a webpage bya user, the webpage capable of displaying dynamic content; determiningif the user accessing the webpage is utilizing a screen reader softwareapplication to audibly read content displayed within the webpage; andrendering additional content to improve accessibility of the dynamiccontent responsive to determining the user accessing the webpage isutilizing a screen reader software application, including: configuring adata store to store a value of a position of focus of the screen readernavigating the webpage; tracking the position of screen reader focus onthe webpage by calculating the position as the screen reader interactswith objects contained within the webpage and updating the positionvalue within the data store; displaying the dynamic content within thewebpage; displaying an object within the webpage at the position ofscreen reader focus responsive to the dynamic content being displayed,wherein the displayed object contains additional content related to thedisplayed dynamic content; and interacting with the displayed objectusing the screen reader to inform the user with information related tothe displayed dynamic content, thereby enabling the user to interactwith the displayed dynamic content.
 13. The system of claim 12, furthercomprising alerting the screen reader to the display of dynamic contentwithin the webpage.
 14. The system of claim 12, further comprising thescreen reader monitoring the dynamic webpage for the display of dynamiccontent within the webpage.
 15. The system of claim 12, wherein theinformation related to the displayed dynamic content enables the user toperform an action on the webpage.
 16. The system of claim 12, whereinthe displayed object is an image with an alt text attribute containinginstructions relevant to the displayed dynamic content, wherein a sizeattribute of the image is set to 1×1, and wherein a background attributeof the image is set to match its parent.
 17. A computer program productcomprising a computer usable medium having a computer readable programfor adaptively improving accessibility of dynamic web content bytracking navigation actions performed by a user on a computer systemaccessing a webpage, wherein the computer readable program when executedon a computer causes the computer to: detect keyboard navigation withina webpage accessed by a user through listeners within the webpage todetermine if the user is accessing the webpage with an accessibilitysoftware application; configure a data store to track a position of userfocus on the webpage and track whether positional tracking is enabledfor the webpage; perform, by the user, navigation within the webpage,wherein the position of user focus on the webpage is reset responsive tonavigation being performed to another webpage; enable the positionaltracking responsive to navigation being performed within the webpage bya keyboard; disable the positional tracking responsive to navigationbeing performed within the webpage by a mouse; determine the position ofuser focus on the webpage and update the position of user focus withinthe data store with a position of the accessibility software applicationon the webpage derived from positional data collected from thelisteners; and present information to the user with the accessibilitysoftware application at the position of the user focus if positionaltracking is enabled, including accessing the data store to retrieve theposition of user focus and rendering information to the user at theposition of user focus on the webpage retrieved from the data store. 18.The computer program product as in claim 17, wherein the accessibilitysoftware application used to access the page interprets textual or imagedescriptive data and conveys the information to the user via non-visualmeans.
 19. The computer program product as in claim 17, wherein the datastore is a browser cookie.
 20. A computer program product comprising acomputer usable medium having a computer readable program for adaptivelyimproving sightless accessibility of dynamic web content by deliveringenhanced content to a user accessing a webpage on a computer system witha screen reader, wherein the computer readable program when executed ona computer causes the computer to: access a webpage by a user, thewebpage capable of displaying dynamic content; determine if the useraccessing the webpage is utilizing a screen reader software applicationto audibly read content displayed within the webpage; and renderadditional content to improve accessibility of the dynamic contentresponsive to determining the user accessing the webpage is utilizing ascreen reader software application, including: configuring a data storeto store a value of a position of focus of the screen reader navigatingthe webpage; tracking the position of screen reader focus on the webpageby calculating the position as the screen reader interacts with objectscontained within the webpage and updating the position value within thedata store; displaying the dynamic content within the webpage;displaying an object within the webpage at the position of screen readerfocus responsive to the dynamic content being displayed, wherein thedisplayed object contains additional content related to the displayeddynamic content; and interacting with the displayed object using thescreen reader to inform the user with information related to thedisplayed dynamic content, thereby enabling the user to interact withthe displayed dynamic content.
 21. The computer program product of claim20, further comprising alerting the screen reader to the display ofdynamic content within the webpage.
 22. The computer program product ofclaim 20, further comprising the screen reader monitoring the dynamicwebpage for the display of dynamic content within the webpage.
 23. Thecomputer program product of claim 20, wherein the information related tothe displayed dynamic content enables the user to perform an action onthe webpage.
 24. The computer program product of claim 20, wherein thedisplayed object is an image with an alt text attribute containinginstructions relevant to the displayed dynamic content, wherein a sizeattribute of the image is set to 1×1, and wherein a background attributeof the image is set to match its parent.